package com.ruoyi.tzai.service;

import java.util.List;
import com.ruoyi.tzai.domain.AIModelConfig;

/**
 * AI模型配置Service接口
 * 
 * @author tzai
 * @date 2025-10-27
 */
public interface IAIModelConfigService 
{
    /**
     * 查询AI模型配置
     * 
     * @param modelId AI模型配置主键
     * @return AI模型配置
     */
    public AIModelConfig selectAIModelConfigByModelId(Long modelId);

    /**
     * 根据模型代码查询AI模型配置
     * 
     * @param modelCode 模型代码
     * @return AI模型配置
     */
    public AIModelConfig selectAIModelConfigByModelCode(String modelCode);

    /**
     * 查询默认AI模型配置
     * 
     * @return AI模型配置
     */
    public AIModelConfig selectDefaultAIModelConfig();

    /**
     * 查询AI模型配置列表
     * 
     * @param aiModelConfig AI模型配置
     * @return AI模型配置集合
     */
    public List<AIModelConfig> selectAIModelConfigList(AIModelConfig aiModelConfig);

    /**
     * 新增AI模型配置
     * 
     * @param aiModelConfig AI模型配置
     * @return 结果
     */
    public int insertAIModelConfig(AIModelConfig aiModelConfig);

    /**
     * 修改AI模型配置
     * 
     * @param aiModelConfig AI模型配置
     * @return 结果
     */
    public int updateAIModelConfig(AIModelConfig aiModelConfig);

    /**
     * 批量删除AI模型配置
     * 
     * @param modelIds 需要删除的AI模型配置主键集合
     * @return 结果
     */
    public int deleteAIModelConfigByModelIds(Long[] modelIds);

    /**
     * 删除AI模型配置信息
     * 
     * @param modelId AI模型配置主键
     * @return 结果
     */
    public int deleteAIModelConfigByModelId(Long modelId);

    /**
     * 设置为默认模型
     * 
     * @param modelId AI模型配置主键
     * @return 结果
     */
    public int setAsDefault(Long modelId);

    /**
     * 测试连接
     * 
     * @param modelId AI模型配置主键
     * @return 结果
     */
    public boolean testConnection(Long modelId);
}

